// 根目录新建adaptor.js
// 路由白名单
// pages/invite/invite 需要移除
const list = ['/', '/pages/stroke/stroke', "/pages/index/index", "/pages/goodsdetail/goodsdetail",
	'/pages/login/login', '/pages/square/square',
	"/pages/release/release", "/pages/partner/partner",
];
uni.addInterceptor('navigateTo', {
	// 页面跳转前进行拦截, invoke根据返回值进行判断是否继续执行跳转
	invoke(res) {
		if (uni.getStorageSync('token')) {
			return true
		} else {
			console.log(list.indexOf(res.url));
			let status = anyContain(res.url)
			if (!status) {
				console.log('未登录');
				//重定向
				uni.showToast({
					title: "请先登录！",
					icon: 'none'
				})
				setTimeout(() => {
					uni.navigateTo({
						url: '/pages/login/login'
					})
				}, 1000)
				return false
			} else {
				return true
			}
		}
	},
	success(e) {

	}
})

// 使用.some()方法检查数组中是否至少有一个字符串包含searchTerm  
function anyContain(searchTerm) {
	let index = searchTerm.indexOf('?');
	// 如果找到了指定字符  

	let result = ''
	if (index !== -1) {
		result = searchTerm.slice(0, index);
	} else {
		result = searchTerm
	}
	let status = list.some(function(str) {
		console.log(str);
		let status = str.includes(result);
		return status;
	});
	console.log(status);
	return status
}

let lastClickTime = 0
//创建路由拦截，这里只判断一般跳转
uni.addInterceptor('switchTab', {
	invoke(res) {
		//存在token就跳转
		if (uni.getStorageSync('token')) {
			// console.log("已登录");
			return true;
		} else {
			// 点击我的  防抖
			// if (res.detail&&res.detail.pagePath == "pages/user/user") {
			// 	// return false
			// 	// console.log(Date.now() - lastClickTime,'Date.now() - lastClickTime');
			// 	if (Date.now() - lastClickTime < 1000) {
			// 		return false;
			// 	}
			// 	lastClickTime = Date.now();
			// }
			// 手机端和电脑端参数不一样
			if (res.url == "/pages/user/user") {
				// return false
				// console.log(Date.now() - lastClickTime,'Date.now() - lastClickTime');
				if (Date.now() - lastClickTime < 1500) {
					return false;
				}
				lastClickTime = Date.now();
			}
			console.log(list.indexOf(res.url));
			if (list.indexOf(res.url) == -1) {
				console.log('未登录');
				//重定向
				uni.showToast({
					title: "请先登录！",
					icon: 'none'
				})
				setTimeout(() => {
					// uni.reLaunch({
					// 	url: '/pages/login/login'
					// })
					uni.navigateTo({
						url: '/pages/login/login'
					})
				}, 1000)
				return false
			} else {
				return true
			}
		}
	},
});